package com.photography.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.photography.common.Result;
import com.photography.entity.Photographers;
import com.baomidou.mybatisplus.extension.service.IService;



public interface PhotographersService extends IService<Photographers> {

    /**
     * 摄影师注册
     * @param photographers 摄影师信息
     * @return 注册结果
     */
    Result register(Photographers photographers);

    /**
     * 摄影师登录
     * @param account 账号
     * @param password 密码
     * @return 登录结果
     */
    Result login(String account, String password);

    /**
     * 更新摄影师信息
     * @param photographers 摄影师信息
     * @return 结果
     */
    Result updatePhotographers(Photographers photographers);

    /**
     * 重置密码
     * @param photographerId id
     * @return 结果
     */
    Result  resetPassword(Integer photographerId);


        /**
         * 删除摄影师
         */
    Result deletePhotographers(Integer photographerId);

    /**
     * 分页查询摄影师列表
     * @param page 分页参数
     * @param gender 性别（可选）
     * @param role 角色（可选）
     * @param search 搜索关键词，支持用户名、擅长领域、邮箱、手机号、昵称的模糊匹配
     * @return 分页结果
     */
    Page<Photographers> getPhotographersPage(Page<Photographers> page, String gender,String role,String search);

    /**
     * 模糊搜索摄影师
     * @param page 分页参数
     * @param keyword 搜索关键词，支持用户名、擅长领域、邮箱、手机号、昵称、性别的模糊匹配
     * @return 分页结果
     */
    Page<Photographers> search(Page<Photographers> page, String keyword);
}
